package com.dyz.LeetCodeforSwordFingerOffer;

public class FindNthDigit43 {
    public int findNthDigit(int n) {
       if(n<10){return n;}
       //n所在的数，有k位，将n不断减小，直至处在k位数的区间
        int k=2; n-=10;
        while(n >=k*(Math.pow(10, k))-Math.pow(10, k-1)){
            n -= k*(Math.pow(10, k)-Math.pow(10,k-1));
            k++;
        }

        //n为N的某一位
        int N = (int)Math.pow(10, k-1)-1+n/k+1;
        int ans = String.valueOf(N).charAt(n % k) - '0';
        return ans;
    }
}
